#include "../src/seqstack/seqstack.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/* 声明底层链表的函数库 */
extern func_SeqStack fun_SeqStack;

#define CAPACITY 10

int main(int argc, const char *argv[])
{
    int i = 0;
    int a[CAPACITY] = {0};
    SeqStack *stack = fun_SeqStack.create(CAPACITY);

    if (stack == NULL)
        return -1;

    // 压栈
    for (i = 0; i < 5; i++)
    {
        a[i] = i + 1;
        fun_SeqStack.push(stack, &a[i]);
    }

    printf("最大容量为 ： %d\n", fun_SeqStack.capacity(stack));
    printf("目前长度为 ： %d\n", fun_SeqStack.length(stack));
    printf("栈顶数据为 ： %d\n", *((int *)fun_SeqStack.top(stack)));
    putchar(10);

    while (fun_SeqStack.length(stack) > 0)
    {
        printf("出栈的数据为 ：%d\n", *((int *)fun_SeqStack.pop(stack)));
    }

    printf("\n");

    return 0;
}
